/**
 * Crea un objeto Hello que tendrá una función encargada
 * de llamar al servicio HelloWorld. Para usarlo, lo que
 * se debe hacer es cargarlo en la página previamente.
 * Para cargarlo, bastará con agregarlo al archivo de
 * configuración (config.js), como un nuevo miembro del
 * array 'includes', que se encuentra casi al final.
 */
var Hello =
{
	/**
	 * Esta función crea una petición (desde ahora 'request') y
	 * se la envía al servicio HelloWorld.
	 */
	sayHello : function()
	{
		// Se crea una petición nueva al servicio HelloWorld.
		//
		// La sintaxis de la función 'create' es la siguiente:
		//
		// Request.create (
		//   NombreDelServicio,
		//   Parametro01,
		//   Valor01,
		//   ParametroN,
		//   ValorN
		// );
		//
		// El primer parámetro es el nombre del servicio al que se
		// llamará. El resto son pares 'Parametro/Valor' que se
		// pasarán al servicio. En nuestro caso le pasamos un parámetro
		// de nombre 'foo' y los datos que contiene sería 'Hola'.
		//
		// El servicio recibirá 'Hola' y responderá con un 'Hola Mundo'
		//
		var request = Request.create("HelloWorld", "foo", "Hola");

		// Se llama al servicio y se espera la respuesta.
		//
		Services.invoke(request, function(response) {
			//
			// Muestra el mensaje que envío el servidor como respuesta.
			// El servicio HelloWorld guardó la respuesta en la variable
			// 'bar', por ende es la propiedad del objeto 'response' que
			// debemos consultar para obtener los datos.
			//
			alert( response.bar );
		});
	}
};
window.Hello = Hello; // Se agrega el objeto al contexto global.

/**
 * Con la función ready se puede esperar que la página se haya
 * cargado completamente para realizar operaciones. Se le debe
 * pasar una función, que es la que ejecutará cuando la página
 * finalice la carga. Pueden especificarse tantas funciones
 * como sea necesario, y se ejecutarán simultáneamente.
 *
 * En este caso, utilizamos este sistema para esperar que la
 * web termine de cargarse y así llamar de forma segura al
 * servicio HelloWorld.
 */
$.ready(function()
{
	// Cuando la página se cargue, llamará al método
	// que envía la petición al servicio HelloWorld.
	//
	//Hello.sayHello();
});
